/**
 * 
 */
package org.mips.Sirius.provider;

import java.util.ArrayList;

import org.mips.Sirius.components.Line;
import org.mips.Sirius.components.StopMonitoring;
import org.mips.Sirius.components.StopPoint;
import org.mips.Sirius.components.Vehicle;

/**
 * @author mips
 * 
 */
public interface TransportInformationProvider {
	/*
	 * Returns real time vehicle information, including geolocation info for
	 * each vehicle
	 */
	public ArrayList<Vehicle> getRealtimeVehicleInformation()
			throws ProviderException;

	/*
	 * Returns static vehicle information, including geolocation info for each
	 * stop
	 */
	public ArrayList<StopPoint> getStaticStopPointsInformation()
			throws ProviderException;

	/*
	 * Returns static transport information, including geolocation info for each
	 * stop
	 */
	public StopMonitoring getRealtimeStopPointInformation(StopPoint stop)
			throws ProviderException;

	/*
	 * Returns static lines information, including geolocation info of the paths
	 */
	public ArrayList<Line> getStaticLinesInformation() throws ProviderException;

}
